<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ConvergenceChecker (Apache Commons Math 3.6.1 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ConvergenceChecker (Apache Commons Math 3.6.1 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ConvergenceChecker.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/optim/InitialGuess.html" title="class in org.apache.commons.math3.optim"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/optim/ConvergenceChecker.html" target="_top">Frames</a></li>
<li><a href="ConvergenceChecker.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.optim</div>
<h2 title="Interface ConvergenceChecker" class="title">Interface ConvergenceChecker&lt;PAIR&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>PAIR</code> - Type of the (point, objective value) pair.</dd></dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">AbstractConvergenceChecker</a>, <a href="../../../../../org/apache/commons/math3/fitting/leastsquares/EvaluationRmsChecker.html" title="class in org.apache.commons.math3.fitting.leastsquares">EvaluationRmsChecker</a>, <a href="../../../../../org/apache/commons/math3/optim/SimplePointChecker.html" title="class in org.apache.commons.math3.optim">SimplePointChecker</a>, <a href="../../../../../org/apache/commons/math3/optim/univariate/SimpleUnivariateValueChecker.html" title="class in org.apache.commons.math3.optim.univariate">SimpleUnivariateValueChecker</a>, <a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html" title="class in org.apache.commons.math3.optim">SimpleValueChecker</a>, <a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html" title="class in org.apache.commons.math3.optim">SimpleVectorValueChecker</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">ConvergenceChecker&lt;PAIR&gt;</span></pre>
<div class="block">This interface specifies how to check if an optimization algorithm has
 converged.
 <br/>
 Deciding if convergence has been reached is a problem-dependent issue. The
 user should provide a class implementing this interface to allow the
 optimization algorithm to stop its search according to the problem at hand.
 <br/>
 For convenience, three implementations that fit simple needs are already
 provided: <a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html" title="class in org.apache.commons.math3.optim"><code>SimpleValueChecker</code></a>, <a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html" title="class in org.apache.commons.math3.optim"><code>SimpleVectorValueChecker</code></a> and
 <a href="../../../../../org/apache/commons/math3/optim/SimplePointChecker.html" title="class in org.apache.commons.math3.optim"><code>SimplePointChecker</code></a>. The first two consider that convergence is
 reached when the objective function value does not change much anymore, it
 does not use the point set at all.
 The third one considers that convergence is reached when the input point
 set does not change much anymore, it does not use objective function value
 at all.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>3.0</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/math3/optim/SimplePointChecker.html" title="class in org.apache.commons.math3.optim"><code>SimplePointChecker</code></a>, 
<a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html" title="class in org.apache.commons.math3.optim"><code>SimpleValueChecker</code></a>, 
<a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html" title="class in org.apache.commons.math3.optim"><code>SimpleVectorValueChecker</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html#converged(int,%20PAIR,%20PAIR)">converged</a></strong>(int&nbsp;iteration,
         <a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="type parameter in ConvergenceChecker">PAIR</a>&nbsp;previous,
         <a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="type parameter in ConvergenceChecker">PAIR</a>&nbsp;current)</code>
<div class="block">Check if the optimization algorithm has converged.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="converged(int,java.lang.Object,java.lang.Object)">
<!--   -->
</a><a name="converged(int, PAIR, PAIR)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>converged</h4>
<pre>boolean&nbsp;converged(int&nbsp;iteration,
                <a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="type parameter in ConvergenceChecker">PAIR</a>&nbsp;previous,
                <a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="type parameter in ConvergenceChecker">PAIR</a>&nbsp;current)</pre>
<div class="block">Check if the optimization algorithm has converged.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>iteration</code> - Current iteration.</dd><dd><code>previous</code> - Best point in the previous iteration.</dd><dd><code>current</code> - Best point in the current iteration.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the algorithm is considered to have converged.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ConvergenceChecker.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/optim/InitialGuess.html" title="class in org.apache.commons.math3.optim"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/optim/ConvergenceChecker.html" target="_top">Frames</a></li>
<li><a href="ConvergenceChecker.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
